Last month I started using Pulumi to manage an infrastructure on OVH which is using Openstack. Everything when fine until I needed to add the IP of my newly created instance in a RecordSet in a DNS Zone.
First of all I set all these Openstack environment variables as recommended by sourcing the open-rc.sh
file, which was generated from a user in OVH which has Administrator role :
OS_REGION_NAME
OS_PROJECT_DOMAIN_ID
OS_INTERFACE
OS_AUTH_URL
OS_USERNAME
OS_PROJECT_ID
OS_USER_DOMAIN_NAME
OS_PROJECT_NAME
OS_PASSWORD
OS_IDENTITY_API_VERSION
Then, I tried the example of the documentation from here https://www.pulumi.com/docs/reference/pkg/openstack/dns/recordset/ :
import pulumi
import pulumi_openstack as openstack
example_zone = openstack.dns.Zone("exampleZone",
description="a zone",
email="email2@example.com",
ttl=6000,
type="PRIMARY")
rs_example_com = openstack.dns.RecordSet("rsExampleCom",
description="An example record set",
records=["10.0.0.1"],
ttl=3000,
type="A",
zone_id=example_zone.id)
But then I get the following error :
Updating (dev_stack_s3_linux):
Type Name Status Info
pulumi:pulumi:Stack test_pulumi_linux-dev_stack_s3_linux **failed** 1 error
+ └─ openstack:dns:Zone exampleZone **creating failed** 1 error
Diagnostics:
pulumi:pulumi:Stack (test_pulumi_linux-dev_stack_s3_linux):
error: update failed
openstack:dns:Zone (exampleZone):
error: Error creating OpenStack DNS client: No suitable endpoint could be found in the service catalog.
Resources:
1 unchanged
Duration: 7s
I looked around and I found that Openstack has it's own client Designate to manage DNS records. Moreover, when I do openstack catalog list
there is no DNS service there.
Is this possible to manage DNS records from Pulumi ? It is in the official documentation and it doesn't seem like anybody encountered this problem so I think I am missing something there.