示例#1
0
  def run_deploy_upsert_load_balancer_pipeline(self):
    url_path = 'pipelines/{0}/{1}'.format(self.TEST_APP, self.pipeline_id)

    previous_group_name = frigga.Naming.server_group(
        app=self.TEST_APP,
        stack=self.TEST_STACK,
        version='v000')

    deployed_group_name = frigga.Naming.server_group(
        app=self.TEST_APP,
        stack=self.TEST_STACK,
        version='v001')

    payload = self.agent.make_json_payload_from_kwargs(
        type='manual',
        user='******')

    builder = gcp.GcpContractBuilder(self.appengine_observer)
    (builder.new_clause_builder('Service Modified', retryable_for_secs=60)
     .inspect_resource('apps.services',
                       self.__lb_name,
                       appsId=self.__gcp_project)
     .EXPECT(
         ov_factory.value_list_path_contains(
             jp.build_path('split', 'allocations'),
             jp.DICT_MATCHES({previous_group_name: jp.NUM_EQ(0.9),
                              deployed_group_name: jp.NUM_EQ(0.1)}))))

    return st.OperationContract(
        self.new_post_operation(
            title='run_deploy_upsert_load_balancer_pipeline',
            data=payload, path=url_path),
        builder.build())
示例#2
0
  def upsert_google_server_group_tags(self):
    # pylint: disable=bad-continuation
    server_group_name = 'katotest-server-group'
    payload = self.agent.type_to_payload(
        'upsertGoogleServerGroupTagsDescription',
        {
          'credentials': self.bindings['SPINNAKER_GOOGLE_ACCOUNT'],
          'zone': self.bindings['TEST_GCE_ZONE'],
          'serverGroupName': 'katotest-server-group',
          'tags': ['test-tag-1', 'test-tag-2']
        })

    builder = gcp.GcpContractBuilder(self.gcp_observer)
    (builder.new_clause_builder('Server Group Tags Added')
        .inspect_resource('instanceGroupManagers', server_group_name)
        .EXPECT(
            ov_factory.value_list_contains(
                jp.DICT_MATCHES({
                    'name': jp.STR_SUBSTR(server_group_name),
                    jp.build_path('tags', 'items'):
                        jp.LIST_MATCHES(['test-tag-1', 'test-tag-2'])
                }))))

    return st.OperationContract(
        self.new_post_operation(
            title='upsert_server_group_tags', data=payload, path='ops'),
        contract=builder.build())
示例#3
0
    def upsert_google_server_group_tags(self):
        # pylint: disable=bad-continuation
        server_group_name = 'katotest-server-group'
        payload = self.agent.type_to_payload(
            'upsertGoogleServerGroupTagsDescription', {
                'credentials': self.bindings['SPINNAKER_GOOGLE_ACCOUNT'],
                'zone': self.bindings['TEST_GCE_ZONE'],
                'serverGroupName': 'katotest-server-group',
                'tags': ['test-tag-1', 'test-tag-2']
            })

        builder = gcp.GcpContractBuilder(self.gcp_observer)
        (builder.new_clause_builder(
            'Server Group Tags Added').inspect_resource(
                'instanceGroupManagers', server_group_name).EXPECT(
                    ov_factory.value_list_contains(
                        jp.DICT_MATCHES({
                            'name':
                            jp.STR_SUBSTR(server_group_name),
                            jp.build_path('tags', 'items'):
                            jp.LIST_MATCHES(['test-tag-1', 'test-tag-2'])
                        }))))

        return st.OperationContract(self.new_post_operation(
            title='upsert_server_group_tags', data=payload, path='ops'),
                                    contract=builder.build())
示例#4
0
    def upsert_google_server_group_tags(self):
        # pylint: disable=bad-continuation
        server_group_name = "katotest-server-group"
        payload = self.agent.type_to_payload(
            "upsertGoogleServerGroupTagsDescription",
            {
                "credentials": self.bindings["SPINNAKER_GOOGLE_ACCOUNT"],
                "zone": self.bindings["TEST_GCE_ZONE"],
                "serverGroupName": "katotest-server-group",
                "tags": ["test-tag-1", "test-tag-2"],
            },
        )

        builder = gcp.GcpContractBuilder(self.gcp_observer)
        (builder.new_clause_builder(
            "Server Group Tags Added").inspect_resource(
                "instanceGroupManagers", server_group_name).EXPECT(
                    ov_factory.value_list_contains(
                        jp.DICT_MATCHES({
                            "name":
                            jp.STR_SUBSTR(server_group_name),
                            jp.build_path("tags", "items"):
                            jp.LIST_MATCHES(["test-tag-1", "test-tag-2"]),
                        }))))

        return st.OperationContract(
            self.new_post_operation(title="upsert_server_group_tags",
                                    data=payload,
                                    path="ops"),
            contract=builder.build(),
        )
示例#5
0
  def run_deploy_upsert_load_balancer_pipeline(self):
    url_path = 'pipelines/{0}/{1}'.format(self.TEST_APP, self.pipeline_id)

    previous_group_name = frigga.Naming.server_group(
        app=self.TEST_APP,
        stack=self.TEST_STACK,
        version='v000')

    deployed_group_name = frigga.Naming.server_group(
        app=self.TEST_APP,
        stack=self.TEST_STACK,
        version='v001')

    payload = self.agent.make_json_payload_from_kwargs(
        type='manual',
        user='******')

    builder = gcp.GcpContractBuilder(self.appengine_observer)
    (builder.new_clause_builder('Service Modified', retryable_for_secs=30)
     .inspect_resource('apps.services',
                       self.__lb_name,
                       appsId=self.__gcp_project)
     .EXPECT(
         ov_factory.value_list_path_contains(
             jp.build_path('split', 'allocations'),
             jp.DICT_MATCHES({previous_group_name: jp.NUM_EQ(0.9),
                              deployed_group_name: jp.NUM_EQ(0.1)}))))

    return st.OperationContract(
        self.new_post_operation(
            title='run_deploy_upsert_load_balancer_pipeline',
            data=payload, path=url_path),
        builder.build())
示例#6
0
    def run_deploy_upsert_load_balancer_pipeline(self):
        url_path = "pipelines/{0}/{1}".format(self.TEST_APP, self.pipeline_id)

        previous_group_name = frigga.Naming.server_group(
            app=self.TEST_APP, stack=self.TEST_STACK, version="v000"
        )

        deployed_group_name = frigga.Naming.server_group(
            app=self.TEST_APP, stack=self.TEST_STACK, version="v001"
        )

        payload = self.agent.make_json_payload_from_kwargs(
            type="manual", user="******"
        )

        builder = gcp.GcpContractBuilder(self.appengine_observer)
        (
            builder.new_clause_builder("Service Modified", retryable_for_secs=60)
            .inspect_resource(
                "apps.services", self.__lb_name, appsId=self.__gcp_project
            )
            .EXPECT(
                ov_factory.value_list_path_contains(
                    jp.build_path("split", "allocations"),
                    jp.DICT_MATCHES(
                        {
                            previous_group_name: jp.NUM_EQ(0.9),
                            deployed_group_name: jp.NUM_EQ(0.1),
                        }
                    ),
                )
            )
        )

        return st.OperationContract(
            self.new_post_operation(
                title="run_deploy_upsert_load_balancer_pipeline",
                data=payload,
                path=url_path,
            ),
            builder.build(),
        )